#ifndef HTTP_HEADER_CALLBACK_H
#define HTTP_HEADER_CALLBACK_H

#include <sparrow/types.h>

struct HttpHeaderCallback
{
    virtual ~HttpHeaderCallback();
    virtual void method(const Slice &method);
    virtual void request_uri(const Slice &uri,
                     const Slice &schema,
                     const Slice &user_info,
                     const Slice &host,
                     int port,
                     const Slice &path,
                     const Slice &query,
                     const Slice &fragment);

    virtual void version(const Slice &version, int major, int minor);
    virtual void status(int code, const Slice &reason);
    virtual void header(const Slice &header, const Slice &name, const Slice &value);
    virtual void reset();
};



#endif // HTTP_HEADER_CALLBACK_H

